#include<string.h> требуется только для объявления функции
char *strncat(string1,string2,n); добавляет n символов string2 к string1
char *string1; строка-приемник
char *string2; строка-источник
unsigned int n; количество добавляемых символов
char *strncmp(string1,string2,n); сравнивает первые n символов строк
char *string1;
char string2;
unsigned int n; количество сравниваемых символов
int strnicmp(string1,string2,n); сравнивает первые n символов строки
char *string1;
char string2;
unsigned int n; количество сравниваемых символов
char *strncpy(string1,string2,n); копирует n символов string2 в string1
char *string1; строка-приемник
char *string2; строка-источник
unsigned int n; количество добавляемых символов
char *strnset(string,c,n,); инициализирует n первых символов строки string
char *string; инициализируемая строка
int c; символ-приемник
unsigned int n; количество принимаемых символов
Описание.
Функции strncat, strnsmp, stricmp, strncpy, strnset работают с первыми n символами строк, оканчивающимися нулевым символом.
Функция strncat добавляет n первых символов строки string2 к строке string1 , заканчивает результирующую строку нулевым символом ('\0') и возвращает указатель на строку-приемник (string1 ). Если n больше, чем длина строки string2 , тогда вместо n используется длина строки.
Функция strncmp лексикографически сравнивает первые n символов строк string1 и string2 и возвращает значение, которое указывает на отношение между подстроками, как приведено ниже:
Значение Его смысл
меньше 0 substring 1 меньше substring 2
0 substring 1 равна substring 2
больше 0 substring 1 больше substring 2
Функция stricmp является причинно-нечувствительной версией strncmp ; функция stricmp сравнивает две строки string1 и string2 вне зависимости от чувствительности к регистрам; это обозначает, что формы букв верхнего и нижнего регистров рассматриваются как эквивалентные.
Функция strncpy копирует точно n символов строки string2 к строке string1 и возвращает string1 . Если n меньше, чем длина string2 , нулевой символ окончания ('\0') автоматически не добавляется к копируемой строке. Если n больше, чем длина string2, результат string1 заполняется нулевыми символами, вплоть до достижения длины n.
Функция strnset устанавливает первые n символов string в символ c и возвращает указатель на измененную строку. Если n больше, чем длина строки string , вместо n используется длина string.
Пример.
#include <string.h>
char string[30]={"12345678901234567890"};
main()
{
char copy[100], suffix[100], *result;
int numresult;
unsigned int nresult;
.
.
.
/* комбинирует строку со строкой suffix, не более чем 10
символов (30 минус длина начальной строки). (Если в примере ис-
пользуется более 10 символов, в память будет записано любое дру-
гое значение) */
result = strncat(string,suffix,10);
/* определяет порядок слов в строке, которая содержится в
"program", но рассматривает не более 7 символов. Если строка со-
держит префикс "program", strncmp возвращает 0 */
strcpy(string,"programmer");
numresult = strncmp(string,"program",7);
/* сравнивает 4 символа двух строк вне зависимости от типа
регистра */
strcpy(string,"PROGRESS");
nresult = stricmp(string,"program",4);
/* копирует 99 символов строки */
result = strncpy(copy,string,99);
/* устанавливает первые 4 символа строки в символ 'x' */
result = strnset("computer",'x',4);
}